It is often found difficult to control operation of a step motor in accordance with a designed motion profile, due to variations in the velocity requirements and the torque demands to which the motor may be subjected. Pulse generators, or indexers, can be employed to create a variety of profiles for implementing different motion patterns, but such systems do not adequately take load factors into account and commonly require speed and efficiency compromises in order to accommodate unanticipated vibrations. Servo control can be applied to ensure reliable attainment of a commanded rotor or motor load position; however, the dedicated position sensor and algorithm required for servo control, and the need for gain tuning, make such systems expensive and complicated and hence ill-suited for many applications.